接口简介
1. 返回类型定义
在 return_value_definition.hpp 文件中定义, 按模块进行分类.
主要分为3个属性, 错误枚举值, 错误号(int类型)及对应的错误原因.
在调用接口如果返回错误, 可以调用以下函数得到错误的原因:
/**
* @brief 获取错误代码errCode对应的错误描述
* @param errCode: 错误码
* @return: 错误描述
*/
ARAL_API_BASIC(1.0) const std::string rlGetErrDescription(const int errCode)const = 0;
2. 基础数据类型定义
在data_structure_definition.hpp文件中定义, 主要包括一些常量, 枚举类型和结构体类型.
文件中定义了和机器人算法库交互时的数据结构, 在算法的接口层会将相应的数据结构转换成算法概念层面的数据结构.
目的:
- 方便软件开发者调用,当有多个参数需要传递给接口函数时, 可以将参数整合成一个结构体传入
- 方便对相关概念进行整理, 如可将类别参数整理成枚举类型
3. 接口定义
在robot_library_interface.hpp文件中定义, 按不同的模块进行分类. 功能接口的命名一般有模块名+功能名组成, 目前支持的接口类型主要有:
- mdlXxx : 机器人模型接口
- rsXxx: 机器人状态接口
- tpXxx: 规划接口
- mcXxx: 运动控制接口
- fcXxx: 力控接口
- calibXxx: 标定算法接口
粒度
根据 不同的层次, 分成如下四个等级
- ARAL_API_BASIC: 基础接口, 与机器人模型无关(即无需对算法库机器人模型进行初始化就可以调用的接口)
- ARAL_API_COMMON: 通用接口, 与机器人模型有关
- ARAL_API_EXTENSION: 拓展接口, 是通用接口的另一种实现或者组合
- ARAL_API_CUSTOM: 定制接口, 根据用户的特殊需求进行组合
机器人描述
机器人模型参数统一用 urdf 文件来描述.